﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MultiProcessorExtensions;

namespace Tester
{
    class Program
    {
        static void Main(string[] args)
        {
            foreach (ProcessorGroup group in Processor.ProcessorGroups)
                Console.WriteLine("Processors in group: " + group.Processors);

            foreach (NumaNodeRelationship numa in Processor.GetNumaNodeRelationships())
                Console.WriteLine("NUMA node number: " + numa.NodeNumber);

            foreach (CacheRelationship cache in Processor.GetCacheRelationships())
                Console.WriteLine("Cache: " + cache.Type + " " + cache.CacheSize);

            foreach (ProcessorRelationship proc in Processor.GetProcessorRelationships())
                Console.WriteLine("This processor is in group: " + proc.GroupMask.First().Group);

            Console.WriteLine("Memory on NUMA node 0: " + Numa.GetAvailableMemory(0));
        }
    }
}
